Companies have long sought to integrate existing systems in order to implement information technology support for all business processes required to run a business. However, most companies implement disparate computer applications that may come from different vendors and may run on different systems. Integration of these systems and processes frequently require data and protocol mediation between the applications. The data and protocol mediation between computer business applications, especially enterprise business applications, is often achieved through routing based on content and/or context. In many known computer systems, an enterprise service bus (“ESB”) or mediator lies between the business applications and enables communication among them.
Ideally, the ESB is able to replace all direct contact with the applications on the bus, so that all communication takes place via the bus. In order to achieve this objective, the bus typically will encapsulate the functionality offered by its component applications in a meaningful way. This is typically accomplished through the use of an enterprise message model. The message model defines a standard set of messages that the ESB will both transmit and receive. When it receives a message, the ESB routes it to the appropriate application. This routing is typically based on either static or dynamic rule sets.